package com.kclm.se.generic;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class GenericDemo {

	public static void main(String[] args) {
		//
		List<Number> numList = new ArrayList<>();
		//
		List<String> strList = new ArrayList<>();
		//
		numList.add(10);
		numList.add(100);
		numList.add(20);
		//
		strList.add("jack");
		strList.add("ann");
		strList.add("solo");
		strList.add("smith");
		//
		System.out.println("========= numlist的内容 ==============");
		/*
		 * Iterator<Number> iter = numList.iterator(); while(iter.hasNext()) { Number n
		 * = iter.next(); System.out.println(n); }
		 */
		//
		/*
		 * for(Number n : numList) { System.out.println(n); }
		 */
		printList(numList);
		//Lambda表达式
		//numList.forEach(System.out::println);
		
		
		System.out.println("========= strlist的内容 ==============");
		/*
		 * for(String s : strList) { System.out.println(s); }
		 */
		printList(strList);
	}
	
	/***
	 * 封装一个打印List集合的方法
	 * @param list
	 */
	public static void printList(List<? extends Serializable> list) {
		for(Serializable n : list) {
			System.out.println(n); //n.toString
		}
	}
}
